from typing import Any, Dict, List

from .base_node import BaseNode


class EndNode(BaseNode):
    """
    结束节点（单一职责：标记流程结束，不再产生后继）。
    """
    def execute(self, graph: 'FlowGraph', context: Dict[str, Any], log: callable) -> List[str]:
        """
        记录流程结束日志并返回空列表。
        
        Args:
            graph ('FlowGraph'): 流程图对象
            context (Dict[str, Any]): 当前执行上下文
            log (callable): 日志记录函数
        
        Returns:
            List[str]: 空列表，表示流程结束
        """
        log(f"[END] Flow reached end at node {self.id}")
        return []